package com.hoshiicloud.as2c.minipro.param;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * @author yangcheng
 * @version 1.0
 * @title: WXLoginParam
 * @description: 微信登录参数实体
 * @date 2019/5/27 19:28
 * @mail maiboyc@163.com
 */
@ApiModel
@Data
public class WXLoginParam {

    // 租户ID
    @NotNull
    @ApiModelProperty(name = "companyId", value = "租户ID", required = true, dataType = "Long", example = "3234906557745463461")
    private Long companyId;

    // 平台ID
    @NotNull
    @ApiModelProperty(name = "platformId", value = "平台ID", required = true, dataType = "Long", example = "3234906557745463478")
    private Long platformId;

    // 邀请码
    @ApiModelProperty(name = "invitationCode", value = "邀请码", required = true, dataType = "String", example = "8964641")
    private String invitationCode;

    // 临时登录标识
    @NotNull
    @ApiModelProperty(name = "code", value = "临时登录标识", required = true, dataType = "String", example = "123456")
    private String code;

    // 用户昵称
    @ApiModelProperty(name = "nickname", value = "用户昵称", dataType = "String", example = "张三")
    private String nickname;

    // 性别 1-男 2-女
    @ApiModelProperty(name = "sex", value = "性别 1-男 2-女", dataType = "String", example = "1")
    private String sex;

    // 省份
    @ApiModelProperty(name = "province", value = "省份", dataType = "String", example = "广东省")
    private String province;

    // 城市
    @ApiModelProperty(name = "city", value = "城市", dataType = "String", example = "深圳市")
    private String city;

    // 国家
    @ApiModelProperty(name = "country", value = "国家", dataType = "String", example = "中国")
    private String country;

    // 用户头像
    @ApiModelProperty(name = "headimgurl", value = "用户头像", dataType = "String", example = "http://xxx/xxx.jpg")
    private String headimgurl;

    // 加密数据
    @ApiModelProperty(name = "encryptedData", value = "加密数据", dataType = "String", example = "CiyLU1Aw2KjvrjMdj8YKliAjtP4gsMZMQmRzooG2xrDcvSnxIMXFufNstNGTyaGS9uT5geRa0W4oTOb1WT7fJlAC")
    private String encryptedData;

    // 解密参数
    @ApiModelProperty(name = "iv", value = "解密参数", dataType = "String", example = "r7BXXKkLb8qrSNn05n0qiA==")
    private String iv;

}
